import Vue from 'vue';
import MyDialog from "@/components/dialog7/MyDialog.vue";

function getDialogConstructor(ctxCpm, dlgProps, onOkClick, onCancelClick) {
	return Vue.extend({
		render(h) {
			return h(
				MyDialog, {
					props: {
						...dlgProps,
						handleOk(slot) {
							debugger
							console.log(slot);
						},
						handleCancel: onCancelClick
					},
				},
				[h(ctxCpm, {
					slot: 'content',
					props: {
						fdata: dlgProps.fdata
					}
				},)
				]
			)
		}
	})
}

export const useDialog = (ctxCpm, dlgProps, onOkClick, onCancelClick) => {
	let DialogConstructor = getDialogConstructor(ctxCpm, dlgProps, onOkClick, onCancelClick);
	const dlg = new DialogConstructor();
	const div = document.createElement("div");
	document.body.appendChild(div);
	const d = dlg.$mount(div);
	return () => {
		d.$el.remove();
		d.$destroy();
	}
}




